Блог им. SciFi |Применение ARIMA для предсказания цены на RIM6 на R

    • 08 июня 2016, 12:48
    • |
    • SciFi
  • Еще
Решил копнуть чуть глубже в ARIMA и другие подобные модели. Попробовал предсказывать цену, а точнее, диапазон цен на ближайшую минуту и 5 минут и на этом сделать какие-то деньги. И что интересно, получилось. Хотя, возможно, это случайность отчасти, не тестировал на большом горизонте времени.

В комментариях к коду все есть.

ARIMA (англ. autoregressive integrated moving average, иногда модель Бокса — Дженкинса, методология Бокса — Дженкинса) — интегрированная модель авторегрессии — скользящего среднего — модель и методология анализа временных рядов. 

Основная идея этой модели в том, что цена в будущем зависит от цен в прошлом (авторегрессионная часть AR) и возврата к среднему (MA часть). А интегрированность означает то, что предварительно определяется порядок интегрированности для временного ряда. К примеру, порядок 1 означает, что разности 1 порядка являются стационарными. Для самой цены порядок интегрированности должен получаться равным 1, а для доходностей — 0. 

( Читать дальше )

Блог им. SciFi |Анализ торгового журнала и стратегий с помощью R

    • 05 июня 2016, 17:34
    • |
    • SciFi
  • Еще
Сегодня я решил провести анализ своего торгового журнала средствами и возможностями языка R.

Я понимаю, что есть специальные сервисы, которые позволяют анализировать торговый журнал. Но во-первых, они платные. Во-вторых, я веду свой журнал сам в Excel и мне удобнее было написать собственную программу. Тем более, что средствами R можно делать то, чего не будет в этих платных сервисах.

Взял все сделки на ФОРТС с 1 января по 1 июня 2016 года (за полгода). Их у меня было 565 штук. Торгую я роботом и руками по разным стратегиям, но записываю в журнал, почему открыл и закрыл каждую сделку. Стратегий было много разных, но я решил выделить все сделки в две группы — где я торговал роботом и где руками. 

Предварительно подготовил данные в Excel — выбрал только те столбцы, которые я планировал анализировать: дата сделки, маржа, номер стратегии (0 и 1 для ручной и робот. торговли). Создал файл CSV. И приступил к анализу в среде R. 

Далее я построил гистограммы маржи за каждую сделку для трех случаев — для всех сделок, для сделок роботом и сделок руками. Наложил синие линии — аппроксимацию. А также вывел описательную статистику для этих трех случаев. 

( Читать дальше )

Блог им. SciFi |Применение модели ARIMA-GARCH для прогнозирования курса рубля на R

    • 12 мая 2016, 11:12
    • |
    • SciFi
  • Еще
Продолжаю копать в сторону машинного обучения и применения R для количественного анализа в трейдинге.

Мои статьи про R, машинное обучение, количественный анализ

В этом посте я расскажу о применении модели ARIMA-GARCH для прогнозирования курса рубля на R. 
Нашел полезную серию статей на тему анализа временных рядов на R. Использовал эту статью.

Немного общей информации из википедии:

ARIMA (англ. autoregressive integrated moving average, иногда модель Бокса — Дженкинса, методология Бокса — Дженкинса) — интегрированная модель авторегрессии — скользящего среднего — модель и методология анализа временных рядов. Является расширением моделей ARMA для нестационарных временных рядов, которые можно сделать стационарными взятием разностей некоторого порядка от исходного временного ряда (так называемые интегрированные или разностно-стационарные временные ряды). Модель ARIMA(p,d,q) означает, что разности временного ряда порядка d подчиняются модели ARMA(p, q).

( Читать дальше )

Блог им. SciFi |Применение наивного байесовского классификатора на R для поиска закономерностей и прогнозирования

    • 09 мая 2016, 13:48
    • |
    • SciFi
  • Еще
В последнее время изучаю R и машинное обучение. 

Мои статьи про R, машинное обучение, количественный анализ

В этом посте я расскажу о том, как применить машинное обучение для поиска закономерностей и прогнозирования.

Использовал эту статью: Применение машинного обучения в трейдинге

Начнем с проверки того, работают ли тренды и как влияет день недели на направление движения цены. И если работают, насколько они смещают вероятность в нашу сторону. Применим для этого наивный байесовский классификатор. 

Теорема Байеса в теории вероятностей, как теорема Пифагора в геометрии.

Байесовская вероятность — это интерпретация понятия вероятности, используемая в байесовской теории. Вероятность определяется как степень уверенности в истинности суждения. Для определения степени уверенности в истинности суждения при получении новой информации в байесовской теории используется теорема Байеса. 

( Читать дальше )

Блог им. SciFi |Построение модели для парной торговли акциями Google и Apple на R

    • 28 марта 2016, 18:51
    • |
    • SciFi
  • Еще

Посчитал на R спред между акциями Google и Apple с учётом соотношения (hedge ratio). И нанёс среднюю линию с двумя среднеквадратичными отклонениями сверху и снизу. Красота. 

Построение модели для парной торговли акциями Google и Apple на R

Делается на R это очень просто, код ниже. 

require(quantmod)
> startT <- «2015-01-01»
> endT <- «2016-01-01»
> rangeT <- paste(startT, "::", endT, sep="")
> symbols <- c(«AAPL», «GOOG»)
> getSymbols(symbols)
[1] «AAPL» «GOOG»
> tGOOG <- GOOG[,6][rangeT]
> pdtGOOG <- diff(tGOOG)[-1]
> tAAPL <- AAPL[,6][rangeT]
> pdtAAPL <- diff(tAAPL)[-1]
> model <- lm(pdtAAPL ~ pdtGOOG)
> hr <- as.numeric(model$coefficients[1])
> spreadT <- tAAPL — hr * tGOOG
> meanT <- as.numeric(mean(spreadT, na.rm=TRUE))
> sdT <- as.numeric(sd(spreadT, na.rm=TRUE))
> par(mfrow = c(2,1))
> hist(spreadT, col=«blue», breaks = 100, main = «Spread Histogram (AAPL vs GOOG)»)
> plot(spreadT, main=«AAPL vs GOOG spread (in-sample period)»)
> abline(h = meanT, col = «red», lwd = 2)
> abline(h = meanT + 1 * sdT, col = «blue», lwd = 2)
> abline(h = meanT — 1 * sdT, col = «blue», lwd = 2)

Здесь: 

meanT — среднее
sdT — среднекв. отклонение
spreadT — спред
par — график с двумя секциями
plot — график
hist — гистограмма
abline — линия поверх графика
model — линейная зависимость модель, МНК
quantmod — библиотека для получения исторических данных
rangeT — временной диапазон

Хотите попросить сделать количественный анализ чего-нибудь? Пишите в личку или в комментариях.

Блог им. SciFi |Гистограммы доходностей разных активов

    • 25 марта 2016, 19:15
    • |
    • SciFi
  • Еще
Ранее выложил гистограмму для нефти. Выкладываю остальные гистограммы по просьбам читавших тот пост. Таймфрейм 5 мин. ES не нашел на Финаме и не торгую их. Сделал для S&P и NASDAQ. Ну и для остального. Использую свойство логарифмов что log(1+x) ~ x при малых x, которое позволяет считать доходность простым вычитанием логарифмов цен. 

Гистограммы доходностей разных активов

( Читать дальше )

Блог им. SciFi |Анализ Brent с использованием языка R

    • 11 марта 2016, 21:26
    • |
    • SciFi
  • Еще
В общем, всю пятницу изучал R. Кое-чему научился. Что я сделал для анализа Brent: 

1. Взял 15-минутку нефти за последние 10 дней, преобразовал в доходности, посчитал среднее значение, ср.-кв. отклонение (это все ниже в результатах), построил график:

Анализ Brent с использованием языка R

2. Проверил получившиеся доходности по двум тестам на независимость друг от друга (типа если в предыдущие 15 мин росла нефть, будет ли расти в след. 15 минут?)

Тест ADF (Augmented Dickey–Fuller test) проверяет независимость следующей величины от предыдущей или другими словами это тест на стационарность. Этот тест, вроде как, показывает, что процесс стационарный. 

Тест BDS также проверяет что-то похожее (я не шарю, честно говоря):

The BDS test (after the initials of W. A. Brock, W. Dechert and J. Scheinkman) detects nonlinear serial dependence in time series. The BDS test was not developed as a leading indicator, but it can help to avoid false detections of critical transitions due to model misspecification. After detrending (or first-differencing) to remove linear structure from the time series by fitting any linear model (e.g. ARMA(p,q), ARCH(q) or GARCH(p,q) models), the BDS tests the null hypothesis that the remaining residuals are independent and identically distributed (i.i.d.).

( Читать дальше )

Блог им. SciFi |Курс по программированию на R

    • 10 марта 2016, 10:06
    • |
    • SciFi
  • Еще
Недавно был популярный пост про возможности языка R: http://smart-lab.ru/blog/314380.php

Нашел вот курс на курсере по этому языку: https://www.coursera.org/learn/r-programming

Может кому понадобится. 

Если не хотите платить 2300 руб. за сертификат, можете просто пройти обучение, материалы бесплатные. Платно только получение сертификата. 



....все тэги
UPDONW
Новый дизайн